using System.Collections.Generic;
using AzureContrib.WindowsAzure.ServiceRuntime;

namespace AzureContrib.WindowsAzure.Tests.Mocks
{
	/// <summary>
	/// A mock <see cref="IRoleInstance"/>.
	/// </summary>
	public class MockRoleInstance : IRoleInstance
	{
		/// <summary>
		/// A mock <see cref="IRoleInstance"/>.
		/// </summary>
		public string Id
		{
			get { return "MockRoleInstance Id"; }
		}

		/// <summary>
		/// A mock <see cref="IRoleInstance"/>.
		/// </summary>
		public int UpdateDomain
		{
			get { return 42; }
		}

		/// <summary>
		/// A mock <see cref="IRoleInstance"/>.
		/// </summary>
		public int FaultDomain
		{
			get { return 43; }
		}

		/// <summary>
		/// A mock <see cref="IRoleInstance"/>.
		/// </summary>
		public IRole Role
		{
			get { return new MockRole(); }
		}

		/// <summary>
		/// A mock <see cref="IRoleInstance"/>.
		/// </summary>
		public IDictionary<string, IRoleInstanceEndpoint> InstanceEndpoints
		{
			get { return new Dictionary<string, IRoleInstanceEndpoint>(); }
		}
	}
}